package trasisgestion.negocio;

import java.util.Collection;

import trasisgestion.dao.UsuarioDAO;
import trasisgestion.excepcion.DAOExcepcion;
import trasisgestion.excepcion.LoginExcepcion;
import trasisgestion.modelo.Usuario;

public class GestionUsuarios {

	public Usuario validarUsuario(int idUsuario, String clave)
			throws DAOExcepcion, LoginExcepcion {
		UsuarioDAO dao = new UsuarioDAO();
		return dao.validar(idUsuario, clave);
	}
/*
	public Usuario insertar(String idUsuario, String clave, String nombres)
			throws DAOExcepcion {
		Usuario vo = new Usuario();
		vo.setIdUsuario(idUsuario);
		vo.setClave(clave);
		vo.setNombres(nombres);

		UsuarioDAO dao = new UsuarioDAO();
		return dao.insertar(vo);
	}
	*/
	//Lista todo los usuarios
	
	public Collection<Usuario> buscarPorNombre(String idUsuario) throws DAOExcepcion {
		UsuarioDAO dao = new UsuarioDAO();
		return dao.listarTodos();
	}

	//Inserta Usuario 

	public void insertar(int idUsuario, String No_Nombres, String No_ApePaterno, String No_ApeMaterno,  String Fl_Sexo, String Fl_TipoDocu, String Nu_NroDocu, String Tx_Correo, String Nu_Celular, String Tx_Clave, int idTipo_Usuario, int Centro_Formacion_IdCentroFormacion)
			throws DAOExcepcion {
		UsuarioDAO dao = new UsuarioDAO();

		Usuario vo = new Usuario();
		vo.setIdUsuario(idUsuario);
		vo.setNo_Nombres(No_Nombres);
		vo.setNo_ApePaterno(No_ApePaterno);
		vo.setNo_ApeMaterno(No_ApeMaterno);
		vo.setFl_Sexo(Fl_Sexo);
		vo.setFl_TipoDocu(Fl_TipoDocu);
		vo.setNu_NroDocu(Nu_NroDocu);	
		vo.setTx_Correo(Tx_Correo);
		vo.setNu_Celular(Nu_Celular);
		vo.setTx_Clave(Tx_Clave);
		vo.setIdTipo_Usuario(idTipo_Usuario);
		vo.setCentro_Formacion_IdCentroFormacion(Centro_Formacion_IdCentroFormacion);

		dao.insertar(vo);

	}

	public Usuario obtener(int idUsuario) throws DAOExcepcion {
		UsuarioDAO dao = new UsuarioDAO();

		return dao.obtenerPorIdUsuario(idUsuario);

	}

	public void eliminar(int idUsuario) throws DAOExcepcion {
		UsuarioDAO dao = new UsuarioDAO();

		dao.eliminar(idUsuario);
	}

	public void actualizar(Integer idUsuario, String nombres, String paterno, String materno,  String sexo, String documento, String nrodocumento, String correo, String celular, String clave, Integer idTipo_Usuario, Integer Centro_Formacion_IdCentroFormacion)
			throws DAOExcepcion { 
		UsuarioDAO dao = new UsuarioDAO();

		Usuario vo = new Usuario();
		vo.setIdUsuario(idUsuario);
		vo.setNo_Nombres(nombres);
		vo.setNo_ApePaterno(paterno);
		vo.setNo_ApeMaterno(materno);
		vo.setFl_Sexo(sexo);
		vo.setFl_TipoDocu(documento);
		vo.setNu_NroDocu(nrodocumento);	
		vo.setTx_Correo(correo);
		vo.setNu_Celular(celular);
		vo.setTx_Clave(clave);
		vo.setIdTipo_Usuario(idTipo_Usuario);				
		vo.setCentro_Formacion_IdCentroFormacion(Centro_Formacion_IdCentroFormacion);

		dao.actualizar(vo);

	}

	public Collection<Usuario> listar() throws DAOExcepcion {
		UsuarioDAO dao = new UsuarioDAO();
		return dao.listarTodos();
	}
}
